Optical readers tend to fall into one of three classes: wand readers, laser scan engine optical readers and image sensor based optical readers.
Wand readers generally comprise a single light source and single photodetector housed in a pen shaped housing. A user drags the wand reader across a decodable symbol (e.g., a bar code) and a signal is generated representative of the bar space pattern of the bar code.
Laser scan engine based optical readers comprise a laser diode assembly generating a laser light beam, a moving mirror for sweeping the laser light beam across a decodable symbol and a signal is generated corresponding to the decodable symbol. Image sensor based optical readers comprise multielement image sensors such as CID, CCD, and CMOS image sensors and an imaging optic for focusing an image onto the image sensor. In operation of an image sensor based optical reader, an image of a decodable symbol is focused on an image sensor and a signal is generated corresponding to the image.
Image sensor based optical readers are more durable and offer additional features relative to laser scan engine based bar code readers. An additional function which has been incorporated into image sensor based optical readers is a picture taking function. Optical readers have been developed which can both take pictures and decode decodable symbols represented in captured image data.
The evolution of data forms (bar code formats) from one dimensional linear codes to two dimensional matrix symbologies has spurred a concomitant need to read and decode greater amounts of data in shorter periods of time, with a higher degree of accuracy, and under more demanding environmental conditions (e.g., low light levels, longer read distances, etc.) than before. These challenges also demand device ease of use and speed of use, which is being addressed in part by the automatic adaptation of reader systems and methods. As an illustration, the interested reader is directed to commonly assigned published application U.S. 2004/0004128, incorporated herein by reference in its entirety to the fullest extent allowed by applicable laws and rules, which relates to 1D/2D auto discrimination and reader reprogramability.
Optical decoding optical readers digitize image data prior to subjecting the image data to decoding processing such as bar code symbology decoding or OCR decoding. It is generally known that the best digitizing algorithm for use in digitizing a certain set of image data depends on features of the image data. A digitization method that may be useful for digitizing image data under a first imaging condition or which corresponds to a first type of symbol may not be useful for digitizing image data captured under a second set of imaging conditions or which corresponds to a second type of symbol, for example.
The approach of prior artisans who are cognizant of the fact that a best digitization method for a particular set of image data may vary depending upon features of the image data has been to successively subject the set of image data to multiple digitization algorithms. U.S. Pat. No. 6,082,621, for example, describes an analog digitizer for developing a series of “1” value or “0” value pixel values wherein an analog signal is subjected to multiple gray-to-binary conversion threshold values. If decoding the image data digitized utilizing the first binary conversion threshold fails, the image data is redigitized using a second binary conversion threshold and subjected to decoding again. If decoding again fails, the image data is digitized again using a third binary conversion threshold and so on. In digitization methods that use the reiterative decoding attempt approach method, the digitizing methods useful for digitizing the most commonly encountered image features are tried first, and the least commonly encountered image features are attempted last.
The decoding of image data by digitization of rarely seen image features subjects the image data to multiple digitation methods and decoding attempts before one is successful. Furthermore, if a symbol representation of a set of image data is of a type that cannot be decoded, several attempts to digitize and decode the symbol representation are nevertheless made. It can be appreciated, therefore, that the above approach can be extremely time consuming and prone to repetitive failure.
An example is illustrated by the fact that most readers are designed to operate with a fixed field of view or, in other words, over a fixed and generally limited range of distances between the reader and the code. If a bar code read is attempted outside of the designed read range, neither the system components nor the reader algorithms will be sufficient to provide a successful first read attempt, leading to business inefficiencies in the long run. In addition to reading distance, an image reader may incorporate a digitizer algorithm that optimizes the reader for a different condition such as bar code contrast, color contrast, blurring due to motion, bar growth (inking related issues), or others, resulting in an image reader that is application or environment specific. Accordingly, there is a need to further advance operational adaptability of optical image readers.